import cv2
import numpy as np

img = cv2.imread('img/work.jpg')


print(img.shape)
# (949, 848, 3)
# 定义源点（扭曲图像的四个角点）
src = np.array([[54, 301], [298, 269], [26, 942], [648, 0]], dtype=np.float32)
# 定义目标点（校正后图像的四个角点，通常形成一个矩形）
dst = np.array([[0, 0], [900, 0], [0, 949], [949, 0]], dtype=np.float32)
# 计算透视变换矩阵
M = cv2.getPerspectiveTransform(src, dst)
# 应用透视变换
new = cv2.warpPerspective(img, M, (900, 900))

cv2.imshow('img', img)
cv2.imshow('new', new)
cv2.waitKey(0)
